2LS: Arrays and Loop Unwinding
نویسندگان
چکیده
Abstract 2LS is a C program analyser built upon the CPROVER infrastructure that can verify and refute assertions, memory safety, termination. Until now, one of main drawbacks was its inability to most programs with arrays. This paper introduces new abstract domain in for reasoning about contents In addition, we introduce an improved approach loop unwinding, crucial component 2LS’ verification algorithm, which particularly enables finding proofs counterexamples working dynamic memory.
منابع مشابه
Improved loop unwinding in ESBMC 2.1 (Competition Contribution)
We implement an alternative loop unwinding strategy for ESBMC at the GOTO level. This substantially improves the reliability of unwinding nested loops.
متن کاملUnwinding of a strained cholesteric elastomer by disclination loop nucleation.
The application of a sufficiently strong strain perpendicular to the pitch axis of a monodomain cholesteric elastomer unwinds the cholesteric helix. Previous theoretical analyses of this transition ignored the effects of Frank elasticity which we include here. We find that the strain needed to unwind the helix is reduced because of the Frank penalty and the cholesteric state becomes metastable ...
متن کاملSelf-loop Pipelining and Reconfigurable Dataflow Arrays
This paper presents some interesting concepts of static dataflow machines that can be used by reconfigurable computing architectures. We introduce some data-driven reconfigurable arrays and summarize techniques to map imperative software programs to those architectures, some of them being focus of current research work. In particular, we briefly present a novel technique for pipelining loops. E...
متن کامل2LS for Program Analysis - (Competition Contribution)
2LS is a program analysis tool for C programs built upon the CPROVER infrastructure. 2LS is bit-precise and it can verify and refute program assertions. 2LS implements invariant generation techniques, incremental bounded model checking and incremental k-induction. The competition submission uses an algorithm combining all three techniques, called kIkI (k-invariants and k-induction). As a back e...
متن کاملRestructuring Arrays for E cient Parallel Loop
In a sequential program, data are often structured in a way that is optimized for a sequential execution. However, when the program is parallelized, the data access pattern may change drastically. If the structure of the data is not changed accordingly, parallel performance will su er. In this paper, we consider this problem in the context of runtime loop parallelization [8, 9], which is a gene...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Lecture Notes in Computer Science
سال: 2023
ISSN: ['1611-3349', '0302-9743']
DOI: https://doi.org/10.1007/978-3-031-30820-8_31